Total Complexity | 4 |
Total Lines | 26 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | import { setBlockType } from 'prosemirror-commands'; |
||
6 | export default class HeadingMenuItemDispatcher extends AbstractMenuItemDispatcher { |
||
7 | /** |
||
8 | * Create an MenuItemDispatcher to set the blocktype to a heading at the given level |
||
9 | * |
||
10 | * @param {int} level the level of the heading, from 1 to 6 |
||
11 | */ |
||
12 | constructor(level) { |
||
13 | super(); |
||
14 | this.level = level; |
||
15 | } |
||
16 | |||
17 | isAvailable(schema) { // eslint-disable-line class-methods-use-this |
||
18 | return !!schema.nodes.heading; |
||
19 | } |
||
20 | |||
21 | getMenuItem(schema) { |
||
22 | if (!this.isAvailable(schema)) { |
||
23 | throw new Error('Headings not available in this schema!'); |
||
24 | } |
||
25 | return new MenuItem({ |
||
26 | command: setBlockType(schema.nodes.heading, { level: this.level }), |
||
27 | icon: svgIcon(`format-header-${this.level}`), |
||
28 | label: LANG.plugins.prosemirror['label:heading'].replace(/%s/, this.level), |
||
|
|||
29 | }); |
||
30 | } |
||
31 | } |
||
32 |
This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.
To learn more about declaring variables in Javascript, see the MDN.